package fr.expdev.bndd.gesture;

import android.view.MotionEvent;
import android.view.GestureDetector.SimpleOnGestureListener;

/**
 * Détecteur de SWIPE
 * @author Olivier PEREZ
 *
 * Pas encore utilisée mais prête à l'emploie
 */
public class SwipeDetector extends SimpleOnGestureListener {
	
	private ISwipeListener listener;
	
	private static final int SWIPE_MIN_DISTANCE = 120;
	private static final int SWIPE_THRESHOLD_VELOCITY = 200;

	public SwipeDetector(ISwipeListener listener) {
		super();
		this.listener = listener;
	}

	@Override
	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
		if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
			listener.onSwipe(ISwipeListener.SWIPE_LEFT);
			return true;
		} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
			listener.onSwipe(ISwipeListener.SWIPE_RIGHT);
			return true;
		}
		listener.onSwipe(ISwipeListener.SWIPE_NONE);
		return false;
	}

}